Skip to content

feat: read (URLs/files/images) + write (files/SVG/Mermaid) + membership (v0.3.0-beta)#1

Merged
WebTigers merged 1 commit into
mainfrom
feat/read-write-output
Jul 21, 2026
Merged

feat: read (URLs/files/images) + write (files/SVG/Mermaid) + membership (v0.3.0-beta)#1
WebTigers merged 1 commit into
mainfrom
feat/read-write-output

Conversation

@WebTigers

Copy link
Copy Markdown
Owner

The roundtable can now read shared content and write downloadable output.

Reading

  • URLs — a shared link's page is fetched, stripped to text, and folded into the AIs' context. SSRF-guarded (blocks private/reserved ranges + the cloud metadata IP + non-http(s) + odd ports, pins the validated IP against DNS rebinding), no redirects, bounded, cached, config-gated.
  • Files — 📎/drag-drop attachments the AIs read: text/markdown/CSV/JSON/code, PDF, DOCX. Stored privately on the media disk under roundtable/<org>/<room>/ in a separate roundtable_attachment table (never media → invisible to the Media Manager), served only through an ACL + participation-gated streamer.
  • Images (vision) — read natively when every AI seat can see; if any seat is text-only, one caption/OCR pass runs up front and everyone reads it. Decided per room via core supportsVision().

Writing

  • File output — any message → .md/.txt (client) or .docx (server OOXML). AIs emit ```file:name.ext``` blocks → download cards.
  • Diagrams```svg```/raw <svg> render inline (sanitized) + .svg; ```mermaid``` renders live via a lazy-loaded, self-hosted Mermaid + .mmd.

Also

v0.2.0 membership: invited people chat live, opt-in gate, per-room role floor.

Requires

tiger-core ≥ 0.36.0-beta (WebTigers/TigerCore#41) — multimodal provider input + supportsVision.

Testing

Verified live on tiger-dev end-to-end: URL review, file extraction (text/PDF/DOCX) with an AI reading the content, private storage (not in media), native vision + caption fallback, docx export (roundtrips through our own reader), and an AI producing a file: block + SVG + Mermaid in one reply. PHP + JS lint clean.

Note: bundles a self-hosted mermaid.min.js (~3.3 MB) so diagrams render offline/cPanel-safe; it is lazy-loaded only when a diagram appears.

🤖 Generated with Claude Code

…ip (v0.3.0-beta)

The table can now READ shared content and WRITE downloadable output.

Reading:
- URL reading: fetch a shared link's page text into AI context, SSRF-guarded (blocks
  private IPs, cloud metadata, non-http(s); pins the validated IP vs DNS rebind), bounded,
  cached, config-gated.
- File attachments: humans attach files the AIs read (text/PDF/DOCX). Stored PRIVATELY on
  the media disk under roundtable/<org>/<room>/ — own roundtable_attachment table (never
  media, invisible to the Media Manager) — served via an ACL + participation-gated streamer.
- Images (vision): read natively when all AI seats can see; else one caption/OCR pass up
  front that everyone reads. Decided per room via core supportsVision().

Writing:
- File output: any message downloads as .md/.txt (client) or .docx (server OOXML); AIs emit
  ```file:name.ext``` blocks rendered as download cards.
- Diagrams: ```svg``` (or raw <svg>) renders inline (sanitized) + .svg; ```mermaid``` renders
  live via a lazy-loaded, self-hosted Mermaid + .mmd.

Also includes v0.2.0 membership (invited people chat live; opt-in gate; per-room role floor).

Requires tiger-core >= 0.36.0-beta (multimodal provider input + supportsVision).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@WebTigers
WebTigers merged commit b6da2f5 into main Jul 21, 2026
@WebTigers
WebTigers deleted the feat/read-write-output branch July 21, 2026 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant